home *** CD-ROM | disk | FTP | other *** search
- // Copyright (C) 1997-2002 Alias|Wavefront,
- // a division of Silicon Graphics Limited.
- //
- // The information in this file is provided for the exclusive use of the
- // licensees of Alias|Wavefront. Such users have the right to use, modify,
- // and incorporate this code into other products for purposes authorized
- // by the Alias|Wavefront license agreement, without fee.
- //
- // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- // PERFORMANCE OF THIS SOFTWARE.
- //
- //
- // Alias|Wavefront Script File
- // MODIFY THIS AT YOUR OWN RISK
- //
- // Creation Date: 14 January 1999
- // Author: sw
- //
- //
- // Procedure Name:
- // cutAttachCurvesToolScript
- //
- // Description:
- // create wrapper around the cutAttachCurves command
- //
- // Input Arguments:
- // 0 ==> do the command.
- // 1 ==> show the action option box
- // 2 ==> return the command
- // 3 ==> show tool option box
- // 4 ==> enter the tool
- //
- // Return Value:
- // None.
- //
-
- global proc cutAttachCurvesToolSetup( int $forceFactorySettings, string $goToTool )
- {
- if( $forceFactorySettings || !`optionVar -ex cutAttachCurvesEuc` ) {
- optionVar -iv cutAttachCurvesEuc 0;
- }
- if( $forceFactorySettings || !`optionVar -ex cutAttachCurvesLac` ) {
- optionVar -iv cutAttachCurvesLac 1;
- }
- if( "" != $goToTool ) {
- scriptCtx -e -euc `optionVar -q cutAttachCurvesEuc` $goToTool;
- scriptCtx -e -lac `optionVar -q cutAttachCurvesLac` $goToTool;
- }
- }
-
- global proc cutAttachCurvesValues ( string $toolName )
- {
- scriptCtxCommonValues( $toolName );
- }
-
- global proc cutAttachCurvesProperties()
- {
- scriptCtxCommonProperties;
- }
-
- proc createCutAttachCurveContext( string $tool )
- {
- if( ! `scriptCtx -exists $tool` ) {
- cutAttachCurvesToolSetup( 0, "" );
-
- int $n = 0;
- if( `optionVar -q cutAttachCurvesLac` ) {
- $n = 2;
- }
-
- scriptCtx -i1 "blank.xpm"
- -title "Cut Attach Curves Tool"
- // -bcn "cutCurves"
-
- -exitUponCompletion `optionVar -q cutAttachCurvesEuc`
- -totalSelectionSets 1
- -expandSelectionList true
- -fcs ("cutAttachCurvesToolScript 0")
-
- -setNoSelectionPrompt ("Select two NURBS curves or points on " +
- "curves for cuting and attaching.")
- -setSelectionPrompt ("Select the second NURBS curve or a point " +
- "on a NURBS curve to cut and attach." +
- "Press ENTER to complete.")
-
- -setAutoToggleSelection true
- -setAutoComplete `optionVar -q cutAttachCurvesLac`
- -showManipulators true
- -setSelectionCount $n
-
- -nurbsCurve true
- -curveParameterPoint true
- -editPoint true
- $tool;
- }
- }
-
- global proc string cutAttachCurvesToolScript( int $setToTool )
- //
- // Description :
- // 0 ==> do the command.
- // 1 ==> show the action option box
- // 2 ==> return the command
- // 3 ==> show tool/action option box
- // 4 ==> enter the tool/do the command ONLY ALLOW THIS FOR NOW
- {
- string $tool = "";
- string $afterCut[];
- int $n, $i;
-
- switch( $setToTool ) {
- case 4:
- $tool = "cutAttachCurveContext";
- createCutAttachCurveContext $tool;
- setToolTo $tool;
- break;
- case 0:
- default:
- cutCurvePreset(0,1,0.1,6,0,0,1,4,1);
- $afterCut = `ls -sl`;
- $n = size($afterCut);
- for( $i=0; $i<$n; $i+=1 ) {
- // Now, two of these are bad, two are OK:
- if( `getAttr ($afterCut[$i] + ".spans")` < 1) delete $afterCut[$i];
- }
- doAttachCurveArgList( 2, { "0", "1", "1", "0", "0.5", "0", "0.1" } );
- break;
- }
-
- return "";
- }
-